\section{Source/Vector.h}


\begin{footnotesize}\begin{alltt}
00001 
00011 \textcolor{preprocessor}{#ifndef VECTOR\_HEADER}
00012 \textcolor{preprocessor}{}\textcolor{preprocessor}{#define VECTOR\_HEADER}
00013 \textcolor{preprocessor}{}
00014 \textcolor{comment}{/* Typedefs */}
00015 \textcolor{keyword}{typedef} \textcolor{keyword}{struct}
00016 \{
00017     \textcolor{keywordtype}{float} X;
00018     \textcolor{keywordtype}{float} Y;
00019     \textcolor{keywordtype}{float} Z;
00020 \}Vector;
00021 
00023 \textcolor{preprocessor}{#define Vector\_Free(V) (Vector\_Destroy(V))}
00024 \textcolor{preprocessor}{}
00030 \textcolor{keyword}{inline} Vector *Vector\_Create();
00031 
00037 \textcolor{keyword}{inline} \textcolor{keywordtype}{void} Vector\_Destroy(Vector *Vector);
00038 
00045 \textcolor{keyword}{inline} \textcolor{keywordtype}{float} Vector\_Length(Vector *Vector);
00046 
00053 \textcolor{keyword}{inline} \textcolor{keywordtype}{void} Vector\_Scale(Vector *Vector, \textcolor{keywordtype}{float} Scale);
00054 
00060 \textcolor{keyword}{inline} \textcolor{keywordtype}{void} Vector\_Normalize(Vector *Vector);
00061 
00069 \textcolor{keyword}{inline} \textcolor{keywordtype}{float} Vector\_DotProduct(Vector *Vector0, Vector *Vector1);
00070 
00078 \textcolor{keyword}{inline} \textcolor{keywordtype}{void} Vector\_CrossProduct(Vector *Result, Vector *Vector0, Vector *Vector1)
      ;
00079 
00087 \textcolor{keyword}{inline} \textcolor{keywordtype}{void} Vector\_Add(Vector *Result, Vector *Vector0, Vector *Vector1);
00088 
00096 \textcolor{keyword}{inline} \textcolor{keywordtype}{void} Vector\_Subtract(Vector *Result, Vector *Vector0, Vector *Vector1);
00097 
00098 \textcolor{preprocessor}{#endif}
\end{alltt}\end{footnotesize}
